package edu.ucsur.tp.beans;

import java.io.Serializable;

import javax.persistence.*;

import java.text.SimpleDateFormat;
import java.util.Date;


/**
 * The persistent class for the usuario database table.
 * 
 */
@Entity
@NamedQuery(name="Usuario.findAll", query="SELECT u FROM Usuario u")
public class Usuario implements Serializable {
  
	private static final long serialVersionUID = 1L;

  private static SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

	@Id
	@Column(name="codigo_usuario")
	private String codigoUsuario;

	private String apellidos;

	private String clave;

	@Column(name="correo_1")
	private String correo1;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="fecha_nacimiento")
	private Date fechaNacimiento;

	@Lob
	private byte[] foto;

	private String nombres;

  public Usuario() {
    //
  }
  
  public Usuario(String codigoUsuario, String nombres, String apellidos, String fechaNacimiento, String correo1, byte[] foto) {
    super();
    this.codigoUsuario = codigoUsuario;
    this.nombres = nombres;
    this.apellidos = apellidos;
    try {
      this.fechaNacimiento = sdf.parse(fechaNacimiento);
    } catch (Exception ex1) {
      ex1.printStackTrace();
    }
    this.correo1 = correo1;
    this.foto = foto;
  }

	public String getCodigoUsuario() {
		return this.codigoUsuario;
	}

	public void setCodigoUsuario(String codigoUsuario) {
		this.codigoUsuario = codigoUsuario;
	}

	public String getApellidos() {
		return this.apellidos;
	}

	public void setApellidos(String apellidos) {
		this.apellidos = apellidos;
	}

	public String getClave() {
		return this.clave;
	}

	public void setClave(String clave) {
		this.clave = clave;
	}

	public String getCorreo1() {
		return this.correo1;
	}

	public void setCorreo1(String correo1) {
		this.correo1 = correo1;
	}

  public Date getFechaNacimiento() {
    return fechaNacimiento;
  }

  public void setFechaNacimiento(Date fechaNacimiento) {
    this.fechaNacimiento = fechaNacimiento;
  }
  
  public void setFechaNacimiento(String fechaNacimiento) {
    try {
      this.fechaNacimiento = sdf.parse(fechaNacimiento);
    } catch (Exception ex1) {
      ex1.printStackTrace();
    }
  }

	public byte[] getFoto() {
		return this.foto;
	}

	public void setFoto(byte[] foto) {
		this.foto = foto;
	}

	public String getNombres() {
		return this.nombres;
	}

	public void setNombres(String nombres) {
		this.nombres = nombres;
	}

}